#pragma once

#include "Vao.h"
#include "VBO.h"
#include "ShaderProgram.h"
#include "Texture.h"

namespace a2d
{
//------------------------------------------------------------------

	class InstanceQuad3
	{
	public:
		bool Create();
		void Draw();
		void Destroy();

	private:
		void computeMatricesFromInputs3();
		static VAO m_vao;
		static ShaderProgram m_shaders;
		Vbo m_vbo;
		sint m_pvw_mat;
		sint m_color;
		Texture m_tex;

		glm::mat4 ViewMatrix3;
		glm::mat4 ProjectionMatrix3;

		GLuint billboard_vertex_buffer3;
		GLuint particles_position_buffer3;
		GLuint particles_color_buffer3;

		sint TextureID3;
		sint CameraRight_worldspace_ID3;
		sint CameraUp_worldspace_ID3;
		sint ViewProjMatrixID3;
	};

//------------------------------------------------------------------
} // namespace a2d
